package com.lekang.service;

import java.util.List;
import com.lekang.domain.Bed;
import com.lekang.dto.BedDTO;

/**
 * 床位Service接口
 * @author wjy
 * @date 2025-10-18
 */
public interface IBedService {
    /** 查询床位（基础信息） */
    Bed selectBedById(Long id);

    /** 查询床位列表（基础信息） */
    List<Bed> selectBedList(Bed bed);

    /** 查询床位全关联列表（含楼层、房间、老人、护理员） */
    List<BedDTO> getBedWithAllRelations(BedDTO bedDTO);

    /** 新增床位 */
    int insertBed(Bed bed);

    /** 修改床位 */
    int updateBed(Bed bed);

    /** 批量删除床位 */
    int deleteBedByIds(Long[] ids);

    /** 删除床位 */
    int deleteBedById(Long id);

    List<Long> selectBedIdsByRoomId(Long roomId);



    /** 老人入住：床位状态 → 已入住 */
    void checkIn(Long bedId);

    /** 老人请假：床位状态 → 请假中 */
    void askForLeave(Long bedId);

    /** 老人销假：床位状态 → 已入住 */
    void cancelLeave(Long bedId);
}